package com.spsoft.vatoutinv.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.spsoft.system.entity.NvatNegativestream;
import com.spsoft.vatoutinv.model.dto.negativestream.NegativesDealDto;
import com.spsoft.vatoutinv.model.dto.negativestream.NegativestreamQueryPageDto;
import com.spsoft.vatoutinv.model.vo.negativestream.NegativestreamForViewVo;
import com.spsoft.vatoutinv.model.vo.negativestream.NegativestreamQueryVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 负数流水管理表 Mapper 接口
 * </p>
 *
 * @author dingchengyun
 * @since 2024-02-26
 */
public interface NvatNegativestreamForNegaMapper extends BaseMapper<NvatNegativestream> {

    /**
     * 释放流水
     * @param wkpRdidList
     * @return
     */
    boolean rollbackByRdids(@Param("wkpRdidList") List<Long> wkpRdidList);

    /**
     * 页面分页
     * @param page
     * @param negativestreamQueryPageDto
     * @return
     */
    IPage<NegativestreamQueryVo> queryForPage(IPage<NegativestreamQueryVo> page, @Param("negativestreamQueryPageDto") NegativestreamQueryPageDto negativestreamQueryPageDto);

    /**
     * 更新负数流水管理表中数据
     * 包括处理类型等
     * @param params
     * @return
     */
    int updateNegaByRdids( @Param("params") NegativesDealDto params);

    /**
     * 关注数据
     * @param id
     * @return
     */
    int updateSfgzById(@Param("id") Long id);

    /**
     * 校验是否是已经关注的数据
     */
    String querySfgzByid(@Param("id") Long id);

    /**
     * 查询负数管理表信息
     */
    NegativestreamForViewVo queryNegaByid(@Param("id") Long id);
}
